'use strict';

window.onload = function () {
  rightScroll();
};

//地图
$(function () {
  $('.cslnmap-city').hover(function () {
    $('.cslnmap-city').not(this).css('display', 'none');
  }, function () {
    $('.cslnmap-city').css('display', 'block');
  });

  // $('.kuailian span').hover(function(){
  //   $('.kuaijie').addClass('fadeIn a-delay003');
  // },function(){
  //   $('.kuaijie').removeClass('fadeIn a-delay003');
  // });
});

// 右边滚动条
function rightScroll() {
  var oNav = document.getElementById('nav');
  var aBtn = oNav.getElementsByTagName('a');
  var toTop = getByClass(document.body, 'section-top')[0];

  toTop.onclick = function () {
    scrollToDis(-100);
  };

  var _loop = function _loop(i) {
    aBtn[i].onclick = function () {
      var id = aBtn[i].getAttribute('href').replace(/(\S+)?#/, '');
      console.log(id);
      var oSe = document.getElementById(id);

      scrollToDis(oSe.offsetTop - 100);

      return false;
    };
  };

  for (var i = 0; i < aBtn.length; i++) {
    _loop(i);
  }
}

//页面滚动函数
function scrollToDis(dis) {
  //处理底部
  if (dis + document.documentElement.clientHeight > document.body.offsetHeight) {
    dis = document.body.offsetHeight - document.documentElement.clientHeight;
  }
  //处理顶部
  if (dis < 0) {
    dis = 0;
  }

  clearTimeout(window.timer);
  window.timer = setInterval(function () {
    var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
    var cur = parseInt(scrollTop);
    var speed = (dis - cur) / 6;
    speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);

    if (cur == dis) {
      // window.scrollTo(0, dis);
      clearTimeout(window.timer);
    } else {
      window.scrollTo(0, cur + speed);
    }
  }, 25);
}

function getByClass(oParent, name) {
  var arr = [];
  var aEle = oParent.getElementsByTagName('*');
  for (var i = 0; i < aEle.length; i++) {
    if (aEle[i].className == name) {
      arr.push(aEle[i]);
    }

    // let classArr=aEle[i].className.split(' ');
    // for(let i=0; i<classArr.length; i++){
    //   if (classArr[i] == name) {
    //     arr.push(aEle[i]);
    //   }
    // }

  }

  return arr;
}

function getStyle(obj, name) {
  if (obj.currentStyle) {
    return obj.currentStyle[name];
  } else {
    return getComputedStyle(obj, false)[name];
  }
}

function startMove(obj, json, fnEnd) {
  clearInterval(obj.timer);

  obj.timer = setInterval(function () {
    var bStop = true; // 假设：所有值都已经到了
    for (var attr in json) {
      var cur = 0;
      // 对属性进行判断，单独处理 opacity
      if (attr == 'opacity') {
        // 浏览器兼容
        if (getStyle(obj, 'opacity')) {
          // ie10+
          cur = Math.round(parseFloat(getStyle(obj, attr)) * 100);
        } else {
          // ie7
          if (getStyle(obj, 'filter')) {
            var x = getStyle(obj, 'filter');
            var str = x.split(':');
            cur = parseInt(str[1]);
          } else {
            cur = 100;
          }
        }
      } else {
        cur = parseInt(getStyle(obj, attr));
      }

      var speed = (json[attr] - cur) / 6;
      speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);

      if (cur != json[attr]) {
        bStop = false;
      }

      if (attr == 'opacity') {
        obj.style.filter = 'alpha(opacity:' + (cur + speed) + ')';
        obj.style.opacity = (cur + speed) / 100;
      } else {
        obj.style[attr] = cur + speed + 'px';
      }
    }
    if (bStop) {
      clearInterval(obj.timer);

      if (fnEnd) {
        fnEnd();
      }
    }
  }, 30);
}